home *** CD-ROM | disk | FTP | other *** search
- Network Working Group John Day
- Request for Comments: 728 Apr 1977
- NIC #40036
-
-
-
- A Minor Pitfall in the Telnet Protocol
-
- Designers of Telnet options should be aware of the following possible
- case in the Telnet protocol which may generate unexpected behavior on
- either end of the connection. Although at present none of the existing
- options are susceptible to this problem, it could arise in the future.
-
- The Telnet sync sequence causes all data to be deleted from the data
- stream until a data mark is encountered. Telnet control functions are
- not affected by the sync sequence (see page 9 of the protocol
- specification). A Telnet option subnegotiation could be defined such
- that it had an affect on the data following it in the data stream. For
- example, a subnegotiation might be used to indicate the terminal was to
- display the following data in a particular font or should receive other
- special treatment by the terminal. A Telnet sync sequence sent after
- such a subnegotiation and its data and before the subnegotiation had
- been processed could resuit in the subnegotiation having its affect on
- data other than that intended.
-
- Two possible solutions come to mind at once. First, the data to be
- affected could be included as a parameter of the subnegotiation. in
- other words, the data is inserted in the data stream before the IAC SE
- that terminates the subnegotiation. The disadvantages of this solution
- are both theoretical and practical. Theoretically, it is improper and
- not really in the spirit of the Telnet protocol design to send data as
- subnegotiation parameters. Practically, in a situation where this case
- would arise it would be equally unexpected behavior (and perhaps
- confusing if a human was affected) if all data except that affected by
- the subnegotiation was flushed.
-
- The second solution would be for designers of options which have such
- subnegotiations define a subnegotiation or other mechanism that would
- follow immediately after the Data Mark and nullify the affects of any
- offending subnegotiation. The exact semantics of such a subnegotiation
- would probably be very specific to the option.
-